package com.weiqiao.mall.repository;

import com.weiqiao.base.dao.IBaseMongoDao;
import org.bson.Document;
import org.bson.conversions.Bson;

import java.util.List;


/**
 * 订单管理 持久化层 接口 继承IBaseMongoDao
 *
 * @author tiyer
 */
public interface IShelfRepository extends IBaseMongoDao {

    /**
     * 根据条件查询所有，做排序
     *
     * @param filter
     * @param sort
     * @return
     */
    List<String> getListByFilterSort(Bson filter, Bson sort);

    /**
     * 通过条件获取一条信息
     *
     * @param filter
     * @return
     */
    String getOneByFilter(Bson filter);

    /**
     * 批量修改商品信息
     *
     * @param filter 查询条件
     */
    List<String> getShelfs(Bson filter);

    /**
     * 更新货架信息 新增 修改
     *
     * @param filter 查询条件
     * @param json   更新内容
     */
    boolean updateShelf(Bson filter, String json);

    /**
     * 查询货架信息 列表
     *
     * @param bson 查询条件
     */
    List<String> getShelftsByFilterSortSkipLimt(int company_id, Bson bson, Bson sort, int skip, int pageSize);

    /**
     * 查询  统计数量
     *
     * @param bson 查询条件
     */
    int countByBson(Bson bson);

    /**
     * 删除货架
     *
     * @param filter
     * @return
     */
    boolean deleteById(Bson filter);

    /**
     * 修改货架
     *
     * @param filter 查询条件
     * @param doc    修改内容
     * @return bool
     */
    boolean updateShelfById(Bson filter, Document doc, boolean bool);
}
